草庐IT

c++ - Qt MainWindow CloseEvent Mac Cmd+Q

全部标签

c++ - 如何使用 OpenSSL 将 {D,E,N} RSA key 扩展为 {D,E,N,p,q,etc.}?

我有一个由公共(public)和私有(private)因素以及模数D组成的RSAkey。(我目前正在生成key并将其与JavaScript库一起使用。)我想使用相同的key来执行加密和解密打开SSL。我可以将我的因子插入OpenSSLRSAkey并且一切正常,但我想让OpenSSL计算它使用的辅助因子(如果可用)来加速操作。我不确定从{D,E,N}回到这些因素在数学上是否可能,但如果是的话,我想知道如何让libopenssl做到这一点。谢谢! 最佳答案 从secretd导出p和q的算法非常简单和快速,尽管是概率性的。在Chapter

c - openssl base64解码字符串并不总是解密

我正在尝试使用RSA_public_encrypt()使用公钥加密一些纯文本,然后将此数据发送到远程服务器进行验证。我相信我有加密/解密工作,因为RSA_public_encrypt的输出可以传递给RSA_private_decrypt并且它有效。我现在遇到的问题是我需要对数据进行base64编码以便通过HTTP发送它。作为测试(在将其发送到服务器之前),我将RSA_public_encrypt()的输出编码为base64,然后对其进行解码并将其传回RSA_private_decrypt()。这似乎有时有效,但失败并出现如下错误:error:0407A079:rsaroutines:R

c - 如何规避 Windows 通用 CRT header 对 vcruntime.h 的依赖

在尝试使用Windows通用C运行时(...\WindowsKits\10\Include\10.0.15063.0\ucrt)在Windows上评估Clang时,我立即面临意想不到的墙,形式是未公开的以及对MicrosoftVisualStudio的意外依赖。显然,即使是最简单的C程序也无法在包含任何标准C头文件后立即进行编译,因为它们似乎最终都试图#includevcruntime.h(这不是UCRT的一部分)。我的问题是:有没有办法在VisualStudio之外使用WindowsUniversalCRTLSDK?如果它不是有意或不可能的,那么为什么它不被称为“MicrosoftV

c socket发送大文件时出现broken pipe错误

我正在尝试使用C套接字发送文件。我已经使用pthread创建了一个服务器。服务器根据缓冲区的大小读取文件,并将读取的大小发送给客户端。它适用于小文件,但当我尝试发送大文件时,如mp3文件(超过5MB),它就不能正常工作。客户端再次发送请求,管道坏了。我的服务器在OSX上运行,我使用浏览器作为客户端。Whenhtmlfilehasmp3resourceastag,mp3sendsOK.(Icalledlocalhost:9999/index.html)butwhenIcallmp3filedirectly(e.glocalhost:9999/music.mp3),brokenpipeer

c - TCP 并发回显服务器无法从第一个客户端读取字符串

我正在实现一个简单的TCPprocess-per-client并发回显服务器。服务器无法从第一个客户端读取字符串。但是,对于更多客户端,服务器会正​​确回显字符串。我觉得这可能是读取字符串的一些问题;服务器端无法检测到EOF。我尝试使用send()/recv()而不是read()/write()但没有成功。我还尝试了其他函数来从标准输入读取字符串——即fgets()、scanf()等。这个问题的可能原因是什么?即服务器无法只从第一个客户端读取?服务器和客户端的代码如下-//server.c#include#include#include#include#include#include#

c - 通过 TCP 套接字发送 unicode,字节顺序如何

我在c中读取了一个带有一些unicode符号(UTF8)的字符串。我读取的那些存储在3个字节中,所以这些字符不能存储在一个字节中,所以我担心使用写入和读取函数通过TCP套接字发送时这些字符的字节顺序。我是否需要对它们做任何特别的事情来确保从流中读取的机器正确解释这些un​​icode字符? 最佳答案 将其作为字节数组发送。对于UTF8编码的字符串,字节顺序应该不是问题,因为它们是面向字节的。例如,当您有两个字节并且需要将它们解释为单个值时,字节顺序很重要。如果您必须单独解释这两个字节,则字节顺序不是问题。更多信息:http://un

c - C 中的多线程 TCP 服务器崩溃

我用C编写了一个多线程TCP服务器。当我针对它运行多个测试客户端时它崩溃了。我遇到了2种类型的崩溃,它们似乎都有相同的根本原因。附加的崩溃发生在main中。在另一种情况下,当它想要锁定以关闭套接字时,我在客户端部分崩溃了。有人可以告诉我崩溃的原因吗?TCP服务器代码:#include#include#include#include#include#include#include//inet_addr#include//forthreading,linkwithlpthread#defineBUFSIZE2048//TODO#defineMAXWORKERS10pthread_mutex

c - 确定您连接到的交换机端口的 mac 地址

是否可以找出您所连接的交换机端口的mac地址是什么?我正在查看tcpdump,但似乎在每个以太网数据包中都有发件人和目的地的MAC,但没有通过的那些MAC。但我正在寻找方法来找出您直接连接到的交换机的MAC。我应该是一个通用的解决方案。例如,托管的CISCO交换机(目前)还不是解决方案。我可以使用C/C++或任何其他语言。 最佳答案 读这个:http://en.wikipedia.org/wiki/Network_switch#Layer_1_.28Hubs_versus_higher-layer_switches.29在普通交换机

c - 通过 TCP 端口发送多条消息

我有一个创建套接字(服务器和客户端程序)并使用该套接字通过TCP端口发送消息的程序。我的问题是,如何交换多条消息?每次我发送一条消息时,端口都会关闭,我需要使用另一个端口来发送另一条消息。例如,我要从客户端向服务器发送2个号码,服务器需要回复我发送号码的总和。我如何通过同一个端口发送未定义的号码甚至2个号码?这是代码(非常标准的东西):服务器:#include#include#include#include#include#includechar*Itoa(intvalue,char*str,intradix){staticchardig[]="0123456789""abcdefgh

c - 错误 : Invalid argument while trying to accept a connection from a client

我正在尝试使用TCP将客户端连接到服务器。我想我的客户正确地完成了他的工作,但服务器无法接受连接。这是我的代码:服务器:intmain(intargc,char*argv[]){intport,sock,newsock,thread_pool_size,queue_size;structsockaddr_inserver,client;structsockaddr*serverptr=(structsockaddr*)&server;structsockaddr*clientptr=(structsockaddr*)&client;structhostent*rem;socklen_t